1. Field of the Invention
The field of invention is data management, including information storage infrastructure and database application development environments, for use with relational databases.
2. Description of the Related Art
Until now, efforts to create data management systems and software for databases have involved extremely lengthy and costly development cycles for database design, implementation, tuning and maintenance. These problems have been all too typical in the design and specification of database schemas for projects.
Data warehousing is a common method of recording of an enterprise's past transactional and operational activities, stored in a database. Data warehouses often hold large amounts of information which are sometimes subdivided into smaller logical units called dependent data marts. Data warehousing projects have involved complex, time-consuming and expensive phases including data cleansing, building a database dimensional model such as a snowflake model or the like, and harvesting reports. The first phase, data cleansing, typically represents over 80% of the total time required for such data warehousing projects.
Data cleansing is the process of amending or removing data in a database that is incorrect, incomplete, improperly formatted, or duplicated. An organization in a data-intensive field like banking, insurance, retailing, telecommunications, or transportation might use a data scrubbing tool to systematically examine data for flaws by using rules, algorithms, and look-up tables. Typically, a database scrubbing tool includes programs that are capable of correcting a number of specific type of mistakes, such as adding missing zip codes or finding duplicate records. Using a data scrubbing tool can save time over fixing errors manually, but data scrubbing tools are costly and still require significant amounts of time to implement. Due to the nature of ADM data storage and the metadata model it utilizes, the data requires little or no cleansing before inclusion into a data warehousing database.
Tree data storage refers to data elements having only one parent data element. On the other hand, graph data storage refers to data elements that may have more than one parent data element. Graph data storage commonly results when the data stored within a databases requires complex relationships in order to be used in a particular application. The more a data solution is graph-like, the more likely it is to suffer from performance and efficiency problems. There are very few practical solutions to graph data storage that fully address graph data storage side effects. Further, many important database applications, for example patient medical record applications, require graph-like data solutions. Typically, solutions to such problems are arrived at on an ad hoc basis, whereby one or more development teams will customize a solution to address a particular application problem. The problem with such an ad hoc approach is that it leads to ossification—future changes to the data storage infrastructure, either to implement a fix or to enhance the system, require another exhaustive database development effort, which is both costly and time-consuming.
What is needed is a data management method that will address the issues presented above.